class UOItem:
    """A wrapper class for RAE's Item object with essential functionality."""
    
    def __init__(self, item):
        """Initialize UOItem with a RAE Item object.
        
        Args:
            item: The RAE Item object to wrap
        """
        self._item = item  # Store the original RAE Item object
        
    # Essential properties
    @property
    def serial(self):
        return self._item.Serial
        
    @property
    def name(self):
        return self._item.Name
        
    # Essential methods
    def get_properties(self):
        """Get all properties of the item."""
        return Items.GetPropStringList(self.serial)
        
    def move_to(self, target_serial, amount=0):
        """Move the item to a target container."""
        return Items.Move(self.serial, target_serial, amount)
        
    def __str__(self):
        """String representation of the item."""
        return f"Item: {self.name} (Serial: 0x{self.serial:08X})" 